package com.erp.erp_dao.warehouse;


import com.erp.erp_entitys.warehouse.entity.OtherInStockDetailEntity;
import com.erp.erp_entitys.warehouse.req.sellOutStockStatistics1Req;
import com.erp.erp_entitys.warehouse.rsp.OtherInStockProductStatisticsRsp;

import java.util.List;

/**
 * 仓库管理-其他入库明细表(OtherInStockDetail)表数据库访问层
 *
 * @author lst
 * @since 2021-03-24 18:03:27
 */
public interface IOtherInStockDetailDao {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    OtherInStockDetailEntity queryById(Integer id);


    /**
     * 通过实体作为筛选条件查询
     *
     * @param otherInStockDetail 实例对象
     * @return 对象列表
     */
    List<OtherInStockDetailEntity> queryAll(OtherInStockDetailEntity otherInStockDetail);

    /**
     * 新增数据
     *
     * @param otherInStockDetail 实例对象
     * @return 影响行数
     */
    int insert(OtherInStockDetailEntity otherInStockDetail);

    /**
     * 详情批量新增
     * @param list 新增对象集合
     * @return 影响行数
     */
    int addList(List<OtherInStockDetailEntity> list);

    /**
     * 修改数据
     *
     * @param otherInStockDetail 实例对象
     * @return 影响行数
     */
    int update(OtherInStockDetailEntity otherInStockDetail);


    /**
     * 获取入库详情信息
     * @param otherInStockDetail 实例对象
     * @return 入库详情信息
     */
    List<OtherInStockDetailEntity> getOtherInStockDetail(OtherInStockDetailEntity otherInStockDetail);

    /**
     * 其它入库产品统计
     * @param req 查询对象
     * @return 其它入库产品统计
     */
    List<OtherInStockProductStatisticsRsp> statisticsProductInfo(sellOutStockStatistics1Req req);

}